<?php

namespace app\common\model\User;

use think\Model;


/**
 * 用户模型
 */
class User extends Model
{
   
    //模型对应的是哪张表
    protected $table = "pre_user";

    //指定一个自动设置的时间字段
    //开启自动写入
    protected $autoWriteTimestamp = true; 

    //设置字段的名字
    protected $createTime = "createtime"; //插入的时候设置的字段名

    //禁止 写入的时间字段
    protected $updateTime = false;


    //定义一个模型自带的属性 追加的意思 当用模型来查询的时候 查询的结果中  会自动的带上以下的两个字段
    //获取器的作用 将原本查到的结果字段来进行二次修改
    //0,1,2
    //定义了字段 或者查询中打印出来，如果没有添加 在打印结果的时候 你看不到组装的字段 但是 获取的时候 是能够拿到的
    protected $append = [
        'sex_text', //性别
        //getAvatarCdnAttr
        'avatar_cdn',  //头像获取器 //
        // 'region', //地区字符串 
    ];

    //新建一个获取器
    // value 是 sex这个字段的值
    // public function getSexAttr($value) 覆盖原字段
    //sex_text

    //增加新字段 sex_text
    public function getSexTextAttr($value, $data) 
    {
        $sexlist = [0 => '保密', 1 => '男', 2 => '女'];
        return $sexlist[$data['sex']];
    }

    //增加新字段
    public function getAuthTextAttr($value, $data) 
    {
        $authlist = [0 => '未验证', 1 => '已验证'];
        return $authlist[$data['auth']];
    }

    // 图片字段的验证器  avatar_cdn
    // 1 参数1：所关联的字段的值 undefined
    // 2 参数2：代表查询结果的  整一条记录
    public function getAvatarCdnAttr($value, $data)
    {
        $avatar = is_file($data['avatar']) ? '/'.$data['avatar'] : '/assets/home/images/avatar.jpg';

        //获取的是 config.php 当中 cdn选项
        $cdn = config('cdn');

        return $cdn.$avatar;
    }

}
